//
// Created by ASUS on 2024/2/18.
//
#include <bits/stdc++.h>
using namespace std;
struct Node{
	Node*son[26]{};
	int cnt=0;
};

class Trie{
	Node*root;
public:
	Trie(){
		root=new Node();
	}
	void insert(string s){
		auto cur=root;
		int n=s.length();
		for(int i=0;i<n;i++){
			int b=s[i]-'a';
			if(cur->son[b]==nullptr) {
				cur->son[b] = new Node();
			}
			cur=cur->son[b];
		}
		cur->cnt++;
	}

	int find(string& s){
		int n=s.length();
		auto cur=root;
		for(int i=0;i<n;i++){
			int b=s[i]-'a';
			cur=cur->son[b];
			if(cur==nullptr) return 0;
		}
		return cur->cnt;
	}
};
int main(){
	Trie trie;
	int n;cin>>n;
	for(int i=1;i<=n;i++){
		trie.insert(to_string(i));
	}
	return 0;
}